本篇開箱的是Swiper一個流行的、功能強大的插件庫,用於創建滑動式的輪播、幻燈片和相冊...等。

▲ 示意圖
Swiper是一個電腦和手機端全螢幕滑動切換、焦點幻燈片、tab等全能插件,可以整合到React、Vue、Angular、Svelte等生態的模組化插件
官方網站
https://swiperjs.com/
官方網站for Vue
https://swiperjs.com/vue
npm install swiper
官方多種範例(畫廊、翻轉、立體效果幻燈片....)
https://swiperjs.com/demos
那我們今天就簡單應用官方的範例,只取用平常比較會用到的功能吧~

▲ 成果
| 屬性 | 說明 | 
|---|---|
| loop | 是否循環播放 | 
| slides-per-view | 控制一次顯示幾張輪播圖 | 
| space-between | 輪播圖之間的距離 | 
| autoplay | 是否自動輪播 | 
| pagination | 控制是否可以點選圓點指示器切換輪播 | 
| navigation | 定義左右切換箭頭 | 
▲ 範例程式碼有用到的屬性說明
(單组件中使用)
<template>
  <swiper
    :loop="true"
    :navigation="true"
    :modules="modules"
    :pagination="{ clickable: true }"
    :slides-per-view="2"
    :space-between="10"
    :autoplay="{ delay: 2500, disableOnInteraction: false }"
    @slideChange="onSlideChange"
    class="mySwiper"
  >
    <swiper-slide>Slide 1</swiper-slide>
    <swiper-slide>Slide 2</swiper-slide>
    <swiper-slide>Slide 3</swiper-slide>
    <swiper-slide>Slide 4</swiper-slide>
    <swiper-slide>Slide 5</swiper-slide>
    <swiper-slide>Slide 6</swiper-slide>
    <swiper-slide>Slide 7</swiper-slide>
    <swiper-slide>Slide 8</swiper-slide>
    <swiper-slide>Slide 9</swiper-slide>
  </swiper>
</template>
預設情況下,Swiper Vue沒有任何附加模組,如果要使用導覽、分頁和其他模組,必須再import它們。
<script>
// Import Swiper Vue.js components
import { Swiper, SwiperSlide } from "swiper/vue";
// Import Swiper styles
import "swiper/css";
import "swiper/css/navigation";
import "swiper/css/pagination";
// import required modules 
import { Autoplay, Navigation, Pagination } from "swiper/modules";
export default {
  components: {
    Swiper,
    SwiperSlide,
  },
  setup() {
    const onSlideChange = () => {
      console.log("slide change");
    };
    return {
      onSlideChange,
      modules: [Autoplay, Navigation, Pagination],
    };
  },
};
</script>
前往小試身手 >>> 程式碼
那我們明天再見了~

參考資料
https://www.jb51.net/article/280509.htm
延伸閱讀
Top Vue.js Carousel & Slideshow Components 2023
https://madewithvuejs.com/blog/top-vue-js-slider-components